package easybooking.report;

import easybooking.data.*;

/**
 * This class is necessary to convert <code>Report</code>-objects to a format, which is readable by
 * human beings. The server provides this <code>Report</code>-objects, the conversion happens at the client
 *
 * The desired format can be user-defined. Methods to read-out the information are implemented at the
 * sub classes.  The signature of the methods, which are responsible for processing the information,
 * are defined in this class.
 *
 * @author Hakan Keles
 */
// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.BA609799-E0D6-8117-5844-1390E08291B2]
// </editor-fold> 
public abstract class ReportWriter {

    /**
     * Translate an <code>AllFlightsOfCustomerReport</code> to the desired format.
     *
     * @param r the translated report
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.A5C96959-3A68-AE02-C13F-970C38B45744]
    // </editor-fold> 
    public abstract void process(AllFlightsOfCustomerReport r);

    /**
     * Translate an <code>AllFlightsOfCustomerWithAirlineReport</code> to the desired format.
     *
     * @param r the translated report
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.7C0B8711-4B9B-FF08-6C1C-CDA49028689E]
    // </editor-fold> 
    public abstract void process(AllFlightsOfCustomerWithAirlineReport r);

    /**
     * Translate a <code>FlightSeatingReport</code> to the desired format.
     *
     * @param r the translated report
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.7037C43F-E59B-1896-97EB-A24E2717F1C9]
    // </editor-fold> 
    public abstract void process(FlightSeatingReport r);

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.F03AFE71-1EFE-C49B-3CE3-5ECBD561A453]
    // </editor-fold> 
    public String toHTML(Customer c) {
        return null;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.C83B321A-AC3C-7F39-E7AA-BB3D0366E21B]
    // </editor-fold> 
    public String toHTML(Airline a) {
        return null;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.4689F9C9-F907-3C00-D1D1-B0C71C1D1278]
    // </editor-fold> 
    public String toHTML(Flight f) {
        return null;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.24DA1799-C801-B266-7BC9-CCB19243055D]
    // </editor-fold> 
    public String toHTML(Seat s) {
        return null;
    }
}
